﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Collections;
using IBatisNet.DataMapper;
using TumbaloSoft.Models;
using TumbaloSoft.Helpers.QueryObjects;

namespace TumbaloSoft.Helpers
{
    public class HelperContometro
    {
        static public void insert(Contometro contometro)
        {
            Mapper.Instance().Insert("ContometroInsert", contometro);
        }
        public static List<Contometro> selectByIdDepartamento(int idDepartamento)
        {
            IList lista = Mapper.Instance().QueryForList("ContometroSelectByIdDepartamento", idDepartamento);
            List<Contometro> listaConts = new List<Contometro>(lista.Cast<Contometro>());
            return listaConts;
        }

        public static Contometro selectById(int idContometro)
        {
            IList lista = Mapper.Instance().QueryForList("ContometroSelectById", idContometro);
            if (lista.Count == 0) return null;
            return (Contometro)(lista[0]);
        }

        public static int selectMaxCodigo()
        {
            return (int)Mapper.Instance().QueryForObject("ContometroSelectMaxCodigo", null);
        }

        public static void delete(int idContometro)
        {
            Mapper.Instance().Update("ContometroDelete",idContometro);
        }
        public static List<Contometro> selectByMonth(BusquedaContometro busqueda)
        {
            IList lista = Mapper.Instance().QueryForList("ContometroSelectByMonth", busqueda);
            List<Contometro> listaConts = new List<Contometro>(lista.Cast<Contometro>());
            return listaConts;
        }


        public static Edificio selectEdificio(Contometro contometro) 
        {
            if (Mapper.Instance().QueryForObject("ContometroSelectIdEdificio", contometro) == null) return null;
            int idEdificio = (int)Mapper.Instance().QueryForObject("ContometroSelectIdEdificio", contometro);
            
            Edificio edificio = HelperEdificio.selectById(idEdificio);
            return edificio;
        }


        public static void asignar(Contometro conto)
        {
            Mapper.Instance().Update("ContometroAsignar", conto);
        }

    }
}